package config

import (
	"log"
	"os"
)

var logger *log.Logger

// 日志配置
func logFile() {
	logFile, err := os.OpenFile(Cfg.LogName+".log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)
	LogPanic("logFile", "创建日志文件失败", err)

	// gin.DefaultWriter = io.MultiWriter(logFile)
	logger = log.New(logFile, "[NEW] ", log.Ldate|log.Ltime|log.Lshortfile)
}

// 输出日志
func LogInfo(method string, val interface{}) {
	logger.Printf("- [info] %s() %+v", method, val)
}

// 输出错误日志
func LogErr(method string, val interface{}, err error) {
	if err != nil {
		logger.Printf("- [error] %s() %+v >>> %v", method, val, err)
	}
}

// 输出fatal日志
func LogPanic(method string, val interface{}, err error) {
	if err == nil {
		return
	}

	log.Printf("- [panic] %s() %+v >>> %v", method, val, err)
	if logger != nil {
		logger.Panicf("- [panic] %s() %+v >>> %v", method, val, err)
	}
}
